Traefik の TLSStore でワイルドカード証明書をうまく扱う
Kubernetes においては cert-manager などで Secret の形で発行した証明書を標準の Ingress リソースなどの TLS に関する部分に設定することで TLS を使った通信が可能になる
しかしこれを単純に使うにはいくつか問題がある
Secret リソースは名前空間でローカルであるため,ある名前空間でワイルドカード証明書を発行したとしてもその証明書は他の名前空間では使うことができない
名前空間ごとに証明書を発行するという方法も考えられなくはないが,非効率な気もする
クラスタ管理という点から見ると,管理者が証明書をまとめて発行して使わせるという構成をとりにくいということでもある
これは後述する TLSStore の制限からあまり解決できているとは言えない
これに対処する実装として Contour の TLSCertificateDelegation がある
こちらは別名前空間の証明書へのアクセスだけでなく,ワイルドカード証明書をある名前空間からは特定のドメインに対してだけ使えるようにするという設定も可能になっている
ワイルドカード証明書をより「うまく」扱えていると言えるが Traefik には該当する機能が存在しない